﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using myFinance.BLL;

namespace myFinance.Models.ViewModels
{
	public class GrupoDespesaViewModel
	{
        public int IdGrupo { get; set; }
        public int IdSubGrupo { get; set; }
		public string NomeGrupo { get; set; }
		public string NomeSubGrupo { get; set; }

		public List<GrupoDespesaViewModel> Listar(string username, int? grupoDespesaId)
		{
            IEnumerable<GrupoDespesaViewModel> dados;

            if (grupoDespesaId != null && grupoDespesaId > 0)
            {
                var lista = SubGrupoDespesaBll.GetLista(username, Convert.ToInt32(grupoDespesaId));
                dados = (from c in lista
                             select new
                             {
                                 IdGrupo = c.GrupoDespesa.Id,
                                 IdSubGrupo = c.Id,
                                 NomeGrupo = c.GrupoDespesa.Nome,
                                 NomeSubGrupo = c.Nome
                             }).ToList().Select(s => new GrupoDespesaViewModel
                             {
                                 IdGrupo = s.IdGrupo,
                                 IdSubGrupo = s.IdSubGrupo,
                                 NomeGrupo = s.NomeGrupo,
                                 NomeSubGrupo = s.NomeSubGrupo
                             });
            }
            else
            {
                var lista = SubGrupoDespesaBll.GetLista(username);
                dados = (from c in lista
                             select new
                             {
                                 IdGrupo = c.GrupoDespesa.Id,
                                 IdSubGrupo = c.Id,
                                 NomeGrupo = c.GrupoDespesa.Nome,
                                 NomeSubGrupo = c.Nome
                             }).ToList().Select(s => new GrupoDespesaViewModel
                             {
                                 IdGrupo = s.IdGrupo,
                                 IdSubGrupo = s.IdSubGrupo,
                                 NomeGrupo = s.NomeGrupo,
                                 NomeSubGrupo = s.NomeSubGrupo
                             });
            }
			return dados.ToList();
		}
	}
}